/*
  昆虫繁殖 (使用递推的方法求解)
  题目描述
    科学家在热带森林中发现了一种特殊的昆虫，这种昆虫的繁殖能力很强。
    每对成虫过 x 个月产 y 对卵，每对卵要过两个月长成成虫。
    假设每个成虫不死，第一个月只有一对成虫，且卵长成成虫后过 x 个月产 y 对卵，
    问过 Z 个月以后，共有成虫多少对？
    数据范围: 1 ≤ X ≤ 20, 1 ≤ Y ≤ 20, X ≤ Z ≤ 50。
  输入
    x, y, z 的数值。
  输出
    过 Z 个月以后，共有成虫对数。
  样例输入
    1 2 8
  样例输出
    37
  特别说明
    乔斯 OJ 中编号为 2750 的编程题"昆虫繁殖", 题目的描叙有歧义, 授课郭玲老师已经问题反馈
    给教务主任，后面会修改该题的文字描述。
    此处将 2750 "昆虫繁殖" 中的描述修改一下，修改成了 2 道题, 分别为
      joyskid/J/L3/14_recurrence_algorithm/p2570_insect_reproduction.cpp
      joyskid/J/L3/14_recurrence_algorithm/p2570u_insect_reproduction.cpp
*/

#include <bits/stdc++.h>

using namespace std;

int main() {
    int x, y, z;
    long long n = 0;

    /*
      数组成员 a[0] 表示最开始 (第 1 个月) 新增的成虫的个数
      数组成员 a[i] 表示过 i 个月 (第 i + 1 个月) 新增的成虫的个数
    */
    long long a[55] = {0};

    cin >> x >> y >> z;

    /*
      规律:
        假设 第 k 个月有 1 对虫刚成年,
        那么, 这 1 对虫生的第二代 (儿子辈, 不包括孙子辈) 虫成年的时间点 & 数量如下:
          第 k + 1 * x + 2 个月，有 y 对虫成年
          第 k + 2 * x + 2 个月，有 y 对虫成年
          第 k + 3 * x + 2 个月，有 y 对虫成年
          第 k + 4 * x + 2 个月，有 y 对虫成年
           ...(依此类推)
    */
    a[0] = 1;  // 最开始 (第 1 个月) 新增的成虫的个数为 1 对
    for (long long i = 0; i <= z; i++) {
        if (a[i] != 0) {
            /*
              针对第 i + 1 个月新增的 a[i] 对成虫,
              计算它们生的下一代 (儿子辈, 不包括孙子辈) 虫成年的时间点 & 数量,
              并更新数组 a 的对应成员的值！
            */
            for (long long j = 1; j <= z; j++) {
                if (i + j * x + 2 <= z) {
                    a[i + j * x + 2] = a[i + j * x + 2] + y * a[i];
                }
            }
        }
    }

    // a[0] + a[1] + ... + a[z] 的值即为过 z 个月后成虫的数量!
    for (int i = 0; i <= z; i++) {
        n = n + a[i];
    }
    cout << n;

    return 0;
}